package com.yunkeji.system.domain.bo;

import com.yunkeji.common.core.validate.AddGroup;
import com.yunkeji.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yunkeji.common.core.domain.BaseEntity;

/**
 * 聊天房间业务对象 ykj_call_room
 *
 * @author zhang
 * @date 2024-07-10
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class CallRoomBo extends BaseEntity {

    /**
     * 
     */
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 人数
     */
    @NotNull(message = "人数不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long personNum;

    /**
     * 创建人
     */
    @NotNull(message = "创建人不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long createUid;

    /**
     * 101=房间已创建 102=房间已解散 103=进行中
     */
    @NotNull(message = "101=房间已创建 102=房间已解散 103=进行中不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer status;

    /**
     * 结束时间
     */
    @NotNull(message = "结束时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date endTime;

    /**
     * 主叫id
     */
    @NotNull(message = "主叫id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long callUid;

    /**
     * 被叫id
     */
    @NotNull(message = "被叫id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long anwserUid;

    /**
     * 房间ID
     */
    @NotBlank(message = "房间ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private String roomNum;

    /**
     * 通话唯一标识
     */
    @NotBlank(message = "通话唯一标识不能为空", groups = { AddGroup.class, EditGroup.class })
    private String ucid;


}
